我正在重写一个JavaScript项目,我希望能够使用面向对象的方法来整理当前代码的困惑情况。主要问题是此JavaScript应该作为小部件在第3方网站内运行,我不能让它与其他网站可能使用的其他JavaScript库发生冲突。所以我正在寻找一种在具有以下要求的JavaScript中编写“类类”继承的方法:没有外部库或会与外部库冲突的东西(这排除了从外部库复制和粘贴的可能性)。极简主义-我不希望支持代码超过几行代码,也不希望开发人员每次定义新类或方法时都需要大量样板。应允许动态扩展父对象,以便子对象看到更改(原型(prototype))。应该允许构造函数链接。应该允许super类型调用。
我想知道如何在JavaScript中模拟类继承。我知道类不适用于JavaScript,我们使用的方式是通过函数创建对象并通过Prototype对象进行继承。例如,如何将此结构转换为JavaScript:publicclassMankind{publicstringname;publicstringlastname;}publicclassPerson:Mankind{publicvoidRun(stringfromWhat){//writetherunlogic}}这段代码在JavaScript中的等价物是什么。编辑:我还找到了另一个链接,其中DouglasCrockford将不同的继
考虑以下JavaScript片段:functionfoo(){this.bar=function(){};}//or...(ifweusedanemptyconstructorfunction)foo.prototype.bar=function(){};我这样做有什么区别:functionbaz(){}baz.prototype=newfoo();在这两种情况下,baz最终都有一个成员bar但有什么不同呢?为什么我要在不同的地方这样做? 最佳答案 区别在于属性位于原型(prototype)链中的位置。假设我们有f=newfoo()
我正在开发一个小游戏-剪刀石头布。我有一个原型(prototype)-RPSPlayer我有两种播放器:Player1,Player2(player1和player2是带有原型(prototype)的对象RPSPlayer的)每个播放器都使用函数播放:Player1.play()。每个玩家都有不同的游戏策略。因此,我需要2个play()实现。如果是Java,我会创建一个抽象类RPSPlayer,它有一个抽象方法play()和另外两个继承自RPSPlayer的类;他们每个人都有自己的play()实现。我的问题是:在JS中正确的做法是什么?我希望我说清楚了,谢谢大家。
是否有一个小型、轻量级的javascript类继承解决方案,可以在客户端和服务器端(node.js)很好地工作?我不想要一个大库,只需要一个可以让我声明一个构造函数和一些方法,然后让一个类能够继承它的东西。 最佳答案 JohnResig在大约25行代码中概述了一个简单的继承框架here.我已经看到它使用效果很好。你可以这样使用它:varVehicle=Class.extend({init:function(wheels){this.wheels=wheels;}});varTruck=Vehicle.extend({init:fun
我阅读了以下QA,它们都检查了使用原型(prototype)继承来模拟经典继承。GoodExampleofJavaScript'sPrototype-BasedInheritancejavascriptinheritanceUsinginheritancepatternsinJavaScript在野外没有一个原型(prototype)继承的工作示例吗?也许是模拟生命形式?除了那些由编程语言创建或未充分解决的问题之外,还有哪些问题可以从原始原型(prototype)继承中受益? 最佳答案 继承就是继承,因此您可以从两者中获得相同的基本
请告诉我是否可以在javascript函数中调用java?functiongetScreenDimension(){} 最佳答案 虽然根据问题的措辞,“否”的答案在技术上是正确的。您可能想阅读有关AJAX的内容。这是javascript向您的后端代码(在本例中为Java)发出请求的一种方式。Javascript是客户端,这意味着它由用户的浏览器运行。Java正在您的服务器上运行。为了让客户端javascript与后端Java交互,您需要向服务器发出请求。 关于javascript-在Ja
UI程序如何定位选型非常重要结合我对几种语言的理解,我的心得如下:PC游戏UI框架适合用c++和c开发GUIc++和c的性能是毋庸置疑的手游的UI游戏框架适合用java和c++,而内部的游戏引擎可以用c++开发的因为android主要是java语言的框架而winphone和iphone是用c++的UI框架当然也可以用android加载c++启动ui框架手机小应用比较适合采用(手机UI框架+内置浏览器+vue脚本)模式uniapp底层框架+vue脚本+vue脚手架+路由+动态样式+模板可以避免程序员重复开发手机程序框架,从而专心投入应用开发python开发的UI主要是基于数据分析和人工智能方面居
我正在使用apachemaven构建项目,所以我想根据它们的版本自动添加我的依赖javascript框架,组织javascript框架,并只下载修改标签版本。是否存在一些类似于java依赖项或maven替代品的插件? 最佳答案 有标准方法可以使用servletapi版本3的功能来执行此操作。任何jar都可以公开位于META-INF/resources下的Web资源(javascript、css、图像等)。为了解决您的问题,我会为您想要在您的webapp项目中重复使用的每个javascript框架创建一个类型为“jar”的maven项
我想知道是否可以在javascript中继承构造函数。在下面的示例中,我希望Moveable将x和y参数分配给this.x和this.y分别是我在Sprite中定义的。此外,在不创建祖先安装的情况下定义原型(prototype)的最佳方式(但仍然简短且可读)是什么?最好在类本身中分配它,而不是像我现在这样在外部范围内分配它:functionSprite(x,y){this.x=x?x:0;this.y=y?y:0;this.getPos=function(){return{x:this.x,y:this.y};};}functionMoveable(x,y){}Moveable.pro